﻿using Furion.FriendlyException;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WeChatV3Pay.Core.Enums
{
    [ErrorCodeType]
    public enum ErrorCodes
    {
        #region 交易错误码

        [ErrorCodeItemMetadata("使用JSAPI下单，appid不能为空")]
        transactions_appid_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单，mchid不能为空")]
        transactions_mchid_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单，description不能为空")]
        transactions_description_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单，out_trade_no不能为空")]
        transactions_out_trade_no_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单，notify_url不能为空")]
        transactions_notify_url_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单，amount不能为空")]
        transactions_amount_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单，amount属性total不能小于0")]
        transactions_amount_total_less_than_0,

        [ErrorCodeItemMetadata("使用JSAPI下单，amount属性currency不能为空")]
        transactions_amount_currency_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单，payer不能为空")]
        transactions_payer_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单，payer属性openid不能为空")]
        transactions_payer_openid_is_null,

        [ErrorCodeItemMetadata("使用JSAPI下单失败")]
        transactions_jsapi_fail,

        [ErrorCodeItemMetadata("查询订单信息失败")]
        transactions_query_fail,

        #endregion

        #region 通用错误码

        [ErrorCodeItemMetadata("服务器运行异常", ErrorCode = "Error")]
        SERVER_ERROR,

        [ErrorCodeItemMetadata("模型不能为空")]
        MODEL_IS_NULL,

        [ErrorCodeItemMetadata("签名私钥不能为空")]
        PRIVATE_KEY_IS_NULL,

        [ErrorCodeItemMetadata("证书编号不能为空")]
        SERIAL_NO_IS_NULL,

        [ErrorCodeItemMetadata("商户号不能为空")]
        MERCHANT_ID_IS_NULL,

        #endregion
    }
}
